01-17-2021 10:43 PM
Hi,
A LUT6 in SLICEM can only be used as a 32 bit and not a 64bit Shift register. As I read this is due to the master/slave operation. However, I don't understand how this works. Can anybody please explain.
Thanks
01-19-2021 07:28 AM
A LUT6 in SLICEM can only be used as a 32 bit and not a 64bit Shift register. As I read this is due to the master/slave operation. However, I don't understand how this works. Can anybody please explain.
Not really. This has to do with the internal architecture of the LUT and Xilinx has not discussed the reason why in any documentation. It may be discussed in a Xilinx patent, but I haven't gone looking for it.
The only thing that is important for the user is the fact that this is the case - a LUT6 can implement a 32 but SRL.
If I had to speculate, I would guess that it is because the SRL functionality comes "for free-ish" due to reusing the mechanism that gets the configuration bits into the LUTs, which is known to be serial. My suspicion is that the configuration shift is done with Master/Slave pairs with two phase non-overlapping internal clocks - this accomplishes the shift with fewer transistors. But when acting as an SRL we don't have two phase non-overlapping clocks, so we are restricted to using every other element in the chain. But again, this is all speculation - the only thing that matters is that it is what it is (a 32 bit shift register).
Avrum
01-19-2021 06:44 AM
Hi @dharpeer
Have you looked at the CLB UG574: https://www.xilinx.com/support/documentation/user_guides/ug574-ultrascale-clb.pdf
01-19-2021 07:28 AM
A LUT6 in SLICEM can only be used as a 32 bit and not a 64bit Shift register. As I read this is due to the master/slave operation. However, I don't understand how this works. Can anybody please explain.
Not really. This has to do with the internal architecture of the LUT and Xilinx has not discussed the reason why in any documentation. It may be discussed in a Xilinx patent, but I haven't gone looking for it.
The only thing that is important for the user is the fact that this is the case - a LUT6 can implement a 32 but SRL.
If I had to speculate, I would guess that it is because the SRL functionality comes "for free-ish" due to reusing the mechanism that gets the configuration bits into the LUTs, which is known to be serial. My suspicion is that the configuration shift is done with Master/Slave pairs with two phase non-overlapping internal clocks - this accomplishes the shift with fewer transistors. But when acting as an SRL we don't have two phase non-overlapping clocks, so we are restricted to using every other element in the chain. But again, this is all speculation - the only thing that matters is that it is what it is (a 32 bit shift register).
Avrum