Main Content

Speed Optimization

Critical path estimation and reduction, pipeline register insertion, loop unrolling, automated iterative clock frequency optimization

Functions

hdlcoder.optimizeDesignAutomatic iterative HDL design optimization
hdlcoder.supportedDevicesShow supported target hardware and device details

Classes

hdlcoder.OptimizationConfighdlcoder.optimizeDesign configuration object

Blocks

expand all

Deserializer1DConvert scalar stream or smaller vectors to vector signal
Multiply-AccumulatePerform a multiply-accumulate operation on the inputs
Multiply-AddMultiply-add combined operation
Serializer1DConvert vector signal to scalar or smaller vectors

Topics

Adaptive Pipelining

Automatic pipeline insertion based on the target device, target frequency, and multiplier word-lengths.

Clock-Rate Pipelining

Pipeline registers insertion at the faster clock rate instead of the slower data rate.

Distributed Pipelining

Definition, benefits, and costs of distributed pipelining

Hierarchical Distributed Pipelining

Hierarchical distributed pipelining extends the scope of distributed pipelining by moving delays across hierarchical boundaries within a subsystem while preserving subsystem hierarchy.

Constrained Output Pipelining

Constrained output pipelining definition and use case.

Automatic Iterative Optimization

How automatic iterative optimization works, prerequisites and restrictions.

Critical Path Estimation Without Running Synthesis

Find the estimated critical paths in your design without using third-party synthesis tools.

Distributed Pipeline Insertion for MATLAB Function Blocks

How to optimize HDL code for MATLAB Function blocks for speed by distributing design delays and generated pipeline stages.

HDL Optimizations Across MATLAB Function Block Boundary Using MATLAB Datapath Architecture

Apply optimizations inside and across MATLAB Function blocks with other Simulink® blocks.

Featured Examples