Programmable Left Shift
Programmable bitwise left shift operation. Shifts all bits of the input binary number to the left by a dynamically programmable amount via the SHIFT input port. Optionally latched output (configurable latency: 0 or 1 clock cycle). Non-time-multiplexed version.
Introduction
This block performs a programmable left shift operation on standard (non-TM) data streams. The shift amount is dynamically controlled via the integer SHIFT input port (0 to Max Shift).
The shift operation can be combinational (zero latency) or registered (1 clock cycle latency).
Pin Description
Properties
Set the input word size in bits
Default: 32
Range: 2 – 16384
Number of maximum bit to be shifted
Default: 16
Range: 1 – 64
Select if latch the output. This will improve the performance but insert one clock cycle delay
- false: Combinational output (0 latency)
- true: Registered output (1 latency)
Default: True
Functional description
Implements a programmable barrel shifter (left shift) in VHDL.
$$ y = x \ll s $$
where $s$ is the shift amount from SHIFT input.
Latency modes
- Latch Output = false: Combinational, latency = 0
- Latch Output = true: Registered, latency = 1 clock cycle
Timing
Latency depends on Latch Output property: 0 or 1 clock cycles.