Разверните или потоковые циклы в сгенерированном 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-коде. Вместо того, чтобы использовать инструкцию циклов, сгенерированный код реализует локальную сверхдискретизацию и добавленную логику, чтобы совпадать с функциональностью исходного цикла.
Можно задать эту прагму циклы for в верхнем уровне проекта MATLAB.
Эта прагма не влияет на поведение симуляции MATLAB.
coder.hdl.loopspec('stream', разворачивает цикл с stream_factor)unroll_factor установите на original_loop_iterations / stream_factor округленный в меньшую сторону до самого близкого целого числа, и также сверхдискретизировал цикл. Если (original_loop_iterations / stream_factor) имеет остаток, экземпляры тела цикла остатка вне цикла не сверхдискретизированы, и запуск на исходном уровне.
Можно задать эту прагму циклы for в верхнем уровне проекта MATLAB.
Эта прагма не влияет на поведение симуляции MATLAB.