Разрегулируйте или потоковые циклы в сгенерированном HDL-коде
coder.hdl.loopspec('unroll') полностью удаляет цикл из сгенерированного HDL-кода. Вместо оператора цикла, сгенерированный код содержит несколько образцы тела цикла с одним образцом тела цикла на итерацию цикла.
coder.hdl.loopspec прагма не влияет на MATLAB® Симуляция поведение.
Примечание
Если вы задаете coder.unroll прагма, эта прагма имеет приоритет над coder.hdl.loopspec. coder.hdl.loopspec не имеет эффекта.
coder.hdl.loopspec('unroll', разворачивает цикл по заданному коэффициенту разворачивания, unroll_factor)unroll_factor, в сгенерированном HDL-коде.
Сгенерированный HDL-код является оператором цикла, который содержит unroll_factor образцы исходного тела цикла. Количество итераций цикла в сгенерированном коде: (original_loop_iterations / unroll_factor). Если (original_loop_iterations / unroll_factor) имеет оставшуюся часть, оставшиеся итерации полностью развернуты как образцы тела цикла вне цикла.
Эта прагма не влияет на поведение симуляции MATLAB.
coder.hdl.loopspec('stream') генерирует один образец тела цикла в HDL-коде. Вместо использования оператора цикла, сгенерированный код реализует локальную избыточную дискретизацию и добавленную логику, чтобы соответствовать функциональности исходного цикла.
Эту прагму можно задать для циклов на верхнем уровне проекта MATLAB.
Эта прагма не влияет на поведение симуляции MATLAB.
coder.hdl.loopspec('stream', разворачивает цикл с stream_factor)unroll_factor установлено на original_loop_iterations / stream_factor округлить до ближайшее целого числа, а также переизбрать контур. Если (original_loop_iterations / stream_factor) имеет оставшуюся часть, образцы тела оставшегося цикла вне цикла не переизбираются и запуск с исходной скоростью.
Эту прагму можно задать для циклов на верхнем уровне проекта MATLAB.
Эта прагма не влияет на поведение симуляции MATLAB.