There are four slices in one CLB, a pair is in the left, another pair is in the right. All the slices have two logic function generators, two storage element, wide_function muxs, carry logic, and arithmetic gates. Howener, the left_hand pair can be configured as disbuted RAM or a 16bit shift register.
Each LUT can delay serial data anywhere from one to 16 clock cycles. You know there is a 16bit ram in each LUT. You can change the storage place of each data among RAM bit.
【 在 benben000 (新一代大水车诞生了) 的大作中提到: 】
: xilinx 许多PPt在介绍fpga内部资源时经常举这样的例子:
: 用lut实现16位移位寄存器。
: 我的理解LUT是用来实现组合逻辑的,时序逻辑用slice里的Dff实现。
: ...................
HOW to change place of each data among RAM bit? This is important!
如果使用dff来做一个16位的移位寄存器的话,是不是需要8个slice才能够完成?这样太浪费了,而如果用lut来做,只要一个slice里的一个lut就可以搞定,呵呵。
【 在 Anthonylfb (Anthony) 的大作中提到: 】
: There are four slices in one CLB, a pair is in the left, another pair is in the right. All the slices have two logic function generators, two storage element, wide_function muxs, carry logic, and arithmetic gates. Howener, the left_hand pair can be
: Each LUT can delay serial data anywhere from one to 16 clock cycles. You know there is a 16bit ram in each LUT. You can change the storage place of each data among RAM bit.
【 在 HeXieHao (和谐号) 的大作中提到: 】
: HOW to change place of each data among RAM bit? This is important!
: 如果使用dff来做一个16位的移位寄存器的话,是不是需要8个slice才能够完成?这样太浪费了,而如果用lut来做,只要一个slice里的一个lut就可以搞定,呵呵。