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