Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

速度と面積の最適化

リソースの共有および RAM マッピングによる改善

ターゲット ハードウェアに対し、速度と面積の最適化を使用して、タイミングおよび面積の要件を満たす高位合成コードを MATLAB® 関数から生成します。面積の最適化は、設計のリソース使用率を削減します。速度の最適化は、クリティカル パスを最適化することで設計がより高い周波数で実行されるように、ターゲット ハードウェアでの設計のタイミングを改善します。

クラス

hdl.WorkingSetWorking set object that generates working sets form input image for HLS code generation (R2023a 以降)

関数

coder.hdl.loopspecUnroll or stream loops in generated HDL and High-Level Synthesis (HLS) code
coder.hdl.constrainlatencySpecify the minimum and maximum acceptable hardware latency for a MATLAB function for High-Level Synthesis (HLS) code generation (R2022a 以降)
coder.hdl.arraydistanceSpecify minimum or maximum array distance inside pipelined for-loop (R2022b 以降)
coder.hdl.stableMATLAB 設計で安定した入力を定義する (R2022b 以降)
coder.inline
coder.hdl.interfaceMap input or output variable to interface in generated HLS code (R2023a 以降)
getWorkingSetGet working set from the input image at specified position (R2023a 以降)
nextWorkingSetGet next working set from input image from last pixel position (R2024a 以降)
hasNextWorkingSetCheck whether another working set can be constructed from input image (R2024a 以降)
currentWorkingSetGet current working set or the last generated working set from input image (R2024a 以降)

トピック

  • Map Persistent Arrays to RAM

    To map persistent array variables to RAMs in the generated High-Level Synthesis (HLS) code, use the RAM mapping optimization. Without this optimization, the code generator maps the array variables to registers. RAM mapping is an area optimization that reduces the area of your design in the target hardware.

  • Pipelining of for-Loops

    Pipelining allows concurrent execution of multiple iterations. The next iteration of a loop can begin execution before the previous iteration completes its execution. Pipelining optimises the execution speed and improves the throughput of the code at the expense of increased resources.

注目の例