Spartan-3E FPGA Family: Functional Description
DS312 (v4.1) July 19, 2013
Product Specification
34
initialized distributed RAM contents are not disturbed during
the configuration process.
The distributed RAM is useful for smaller amounts of
memory. Larger memory requirements can use the
Shift Registers
For additional information, refer to the “Using Look-Up
Tables as Shift Registers (SRL16)” chapter in
UG331.
It is possible to program each SLICEM LUT as a 16-bit shift
register (see
Figure 28). Used in this way, each LUT can
delay serial data anywhere from 1 to 16 clock cycles without
using any of the dedicated flip-flops. The resulting
programmable delays can be used to balance the timing of
data pipelines.
The SLICEM LUTs cascade from the G-LUT to the F-LUT
through the DIFMUX (see
Figure 15). SHIFTIN and
SHIFTOUT lines cascade a SLICEM to the SLICEM below
to form larger shift registers. The four SLICEM LUTs of a
single CLB can be combined to produce delays up to 64
clock cycles. It is also possible to combine shift registers
across more than one CLB.
Each shift register provides a shift output MC15 for the last
bit in each LUT, in addition to providing addressable access
to any bit in the shift register through the normal D output.
The address inputs A[3:0] are the same as the distributed
RAM address lines, which come from the LUT inputs F[4:1]
or G[4:1]. At the end of the shift register, the CLB flip-flop
can be used to provide one more shift delay for the
addressable bit.
The shift register element is known as the SRL16 (Shift
Register LUT 16-bit), with a ‘C’ added to signify a cascade
ability (Q15 output) and ‘E’ to indicate a Clock Enable. See
Figure 29 for an example of the SRLC16E component.
The functionality of the shift register is shown in
Table 20.The SRL16 shifts on the rising edge of the clock input when
the Clock Enable control is High. This shift register cannot
be initialized either during configuration or during operation
except by shifting data into it. The clock enable and clock
inputs are shared between the two LUTs in a SLICEM. The
clock enable input is automatically kept active if unused.
X-Ref Target - Figure 28
Figure 28: Logic Cell SRL16 Structure
A[3:0]
SHIFTIN
SHIFTOUT
or YB
DI (BY)
D
MC15
DI
WSG
CE (SR)
CLK
SRLC16
D
Q
SHIFT-REG
WE
CK
A[3:0]
Output
Registered
Output
(optional)
4
X465_03_040203
WS
X-Ref Target - Figure 29
Figure 29: SRL16 Shift Register Component with
Cascade and Clock Enable
Table 20: SRL16 Shift Register Function
Inputs
Outputs
Am
CLK
CE
D
Q
Q15
Am
X0
X
Q[Am]
Q[15]
Am
↑
1
D
Q[Am-1]
Q[15]
Notes:
1.
m = 0, 1, 2, 3.
SRLC16E
DQ
CE
CLK
A0
A1
A2
A3
Q15
DS312-2_43_021305