Вставьте конвейерные регистры при выходе выражения MATLAB
out = coder.hdl.pipeline(
вставляет один конвейерный регистр при выходе expr
)expr
в сгенерированном HDL-коде. Эта прагма не влияет на поведение симуляции MATLAB®.
Используйте эту прагму, чтобы задать точно, где вставить конвейерные регистры. Например, в операторе присваивания MATLAB, можно задать прагму coder.hdl.pipeline:
На целой правой стороне оператора присваивания.
На подвыражении.
Вложением несколько прагм.
На вызове подфункции, если подфункция возвращает одно значение. Вы не можете задать прагму для подфункции, которая возвращает несколько значений.
Если вы включаете распределенную конвейеризацию, HDL Coder™ может переместить конвейерные регистры, чтобы повредить критический путь.
HDL Coder не может вставить конвейерный регистр при выходе выражения MATLAB, если какая-либо из переменных в выражении:
В цикле.
Персистентная переменная, которая сопоставляет с элементом состояния, как государственный реестр или RAM.
Выход функции. Например, в следующем коде, вы не можете добавить конвейерный регистр для выражения, содержащего y
:
function [y] = myfun(x) y = x + 5; end
В обратной связи данных. Например, в следующем коде, вы не можете конвейерно обработать выражение, содержащее t
или pvar
переменные:
persistent pvar; t = u + pvar; pvar = t + v;
Вы не можете использовать coder.hdl.pipeline
вставить конвейерный регистр для одной переменной или другого никакого-op выражения. Чтобы изучить, как вставить конвейерный регистр для переменной входного параметра функции, смотрите Регистры Порта.
out = coder.hdl.pipeline(
вставляет expr
,num
)num
конвейерно обработайте регистры при выходе expr
в сгенерированном HDL-коде. Эта прагма не влияет на поведение симуляции MATLAB.
Используйте эту прагму, чтобы задать точно, где вставить конвейерные регистры. Например, в операторе присваивания MATLAB, можно задать прагму coder.hdl.pipeline:
На целой правой стороне оператора присваивания.
На подвыражении.
Вложением несколько прагм.
На вызове подфункции, если подфункция возвращает одно значение. Вы не можете задать прагму для подфункции, которая возвращает несколько значений.
Если вы включаете распределенную конвейеризацию, HDL Coder может переместить конвейерные регистры, чтобы повредить критический путь.
HDL Coder не может вставить конвейерный регистр при выходе выражения MATLAB, если какая-либо из переменных в выражении:
В цикле.
Персистентная переменная, которая сопоставляет с элементом состояния, как государственный реестр или RAM.
Выход функции. Например, в следующем коде, вы не можете добавить конвейерный регистр для выражения, содержащего y
:
function [y] = myfun(x) y = x + 5; end
В обратной связи данных. Например, в следующем коде, вы не можете конвейерно обработать выражение, содержащее t
или pvar
переменные:
persistent pvar; t = u + pvar; pvar = t + v;
Вы не можете использовать coder.hdl.pipeline
вставить конвейерный регистр для одной переменной или другого никакого-op выражения. Чтобы изучить, как вставить конвейерный регистр для переменной входного параметра функции, смотрите Регистры Порта.