Area and timing optimizations that you specify can result in upsampled rates in
your design. For example, when you use the resource sharing optimization, the code
generator overclocks the shared resources by an overclocking factor (OCF). The OCF
depends on the number of shareable resources, N
, and the
SharingFactor, SF
, that you specify. If
your clock rate is high, overclocking can cause your design clock rate to exceed the
maximum clock rate of your target hardware. To constrain overclocking, use the
Oversampling factor in conjunction with clock-rate
pipelining to constrain the overclocking of your design.
Area and speed optimizations, and certain block implementations that you specify result in overclocking the resources in your design. For example, the following optimizations and implementations can result in upsampled rates in your design:
RAM mapping
Streaming
Resource sharing
Loop streaming
Specific block implementations, such as cascade architectures, Newton-Raphson architectures, and some filter implementations
When using area and speed optimizations, you can specify constraints on
overclocking using the oversampling
parameter. If you want a
single-rate design, you can use these parameters to prevent overclocking, or limit
overclocking within a range.
Suppose that you have a design that does not currently fit in the target hardware,
but is already running at the target device maximum clock frequency, and you know
that the inputs to your design can change at most every N
cycles.
You can enable area optimizations, such as resource sharing, and specify a
single-rate implementation using the Oversampling factor. You
can specify the Oversampling factor in the HDL Code Generation > Global Settings pane of the Configuration Parameters dialog box.
By default, the clock-rate pipelining optimization is enabled, and it works in
conjunction with the Oversampling factor to make the DUT sample
time slower than the actual clock rate. You can design your model at the base sample
time and then set the Oversampling factor to
N
. This setting gives HDL Coder™ a latency budget of N cycles to perform the computation. In this
situation, HDL Coder can reuse the shared resource at the original clock rate over N
cycles, instead of implementing the sharing optimization by overclocking the shared
resource.
When you constrain overclocking by specifying an Oversampling
factor greater than 1
,
ClockInputs must be set to
Single
.