在水木上看到一个同样的问题,把他们的讨论转过来供大家参考:
发信人: report (王二 原谅我这一生不羁放纵爱自由……), 信区: FPGATech
标 题: [合集] 一个关于LUT的小问题
发信站: 水木社区 (Sat Apr 23 13:50:05 2011), 站内
☆─────────────────────────────────────☆
benben000 (新一代大水车诞生了) 于 (Tue Apr 8 10:58:07 2008) 提到:
xilinx 许多PPt在介绍fpga内部资源时经常举这样的例子:
用lut实现16位移位寄存器。
我的理解LUT是用来实现组合逻辑的,时序逻辑用slice里的Dff实现。
lut实现不了吧,还有这个例子想说明什么呢?
☆─────────────────────────────────────☆
honest41 (当索爱遇见诺基亚) 于 (Tue Apr 8 11:53:37 2008) 提到:
lut与一定数量的dff应该是成套的。
【 在 benben000 (新一代大水车诞生了) 的大作中提到: 】
: xilinx 许多PPt在介绍fpga内部资源时经常举这样的例子:
: 用lut实现16位移位寄存器。
: 我的理解LUT是用来实现组合逻辑的,时序逻辑用slice里的Dff实现。
: ...................
☆─────────────────────────────────────☆
Anthonylfb (Anthony) 于 (Wed Apr 9 10:54:35 2008) 提到:
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实现。
: ...................
☆─────────────────────────────────────☆
InterRonaldo (罗那尔多在Inter) 于 (Wed Apr 9 14:33:17 2008) 提到:
SliceM里面的LUT可以配置成为一个SRL16
作为一个最高16bit的穿行移位寄存器
不是用slice里面的FF
【 在 benben000 (新一代大水车诞生了) 的大作中提到: 】
: xilinx 许多PPt在介绍fpga内部资源时经常举这样的例子:
: 用lut实现16位移位寄存器。
: 我的理解LUT是用来实现组合逻辑的,时序逻辑用slice里的Dff实现。
: ...................
☆─────────────────────────────────────☆
kerk (hehe) 于 (Wed Apr 9 15:36:03 2008) 提到:
LUT从电路实现角度来讲就是一块小的SRAM,4输入的LUT里面
有2^4=16个SRAM的单元,所以可以作为16位SRL。
用slice里的DFF来实现移位寄存器代价太大,16位移位寄存器
需要16个slice,而用LUT一个slice就够了,而且速度够快
【 在 benben000 (新一代大水车诞生了) 的大作中提到: 】
: xilinx 许多PPt在介绍fpga内部资源时经常举这样的例子:
: 用lut实现16位移位寄存器。
: 我的理解LUT是用来实现组合逻辑的,时序逻辑用slice里的Dff实现。
: ...................
☆─────────────────────────────────────☆
benben000 (新一代大水车诞生了) 于 (Thu Apr 10 18:44:59 2008) 提到:
1.LUT的GF函数发生器所带的16位Sram有两个功能:既可以下载结束后有固定植
而作为组合逻辑用,这是我先前的认识。同时又可以当成普通sram用,可以认为
它是“双向的”,这是我先在增加的认识。
2.当成普通16位sram用时,根据xilinx手册或者数电书都有说:4输入此时作为
地址线。有写实能而无读时能,因此写入的数据同时浮现在输出端g'或者f',如果
4个地址线是这样的规律:+1计数器从0到15,那么此时就实现了一个16位slr
【 在 kerk (hehe) 的大作中提到: 】
: LUT从电路实现角度来讲就是一块小的SRAM,4输入的LUT里面
: 有2^4=16个SRAM的单元,所以可以作为16位SRL。
: 用slice里的DFF来实现移位寄存器代价太大,16位移位寄存器
: ...................
☆─────────────────────────────────────☆
BlackBlues (黑色布鲁斯) 于 (Fri Apr 11 08:01:10 2008) 提到:
请问,
如果想用1个LUT来实现16bit的串并转换是不是不行?
【 在 kerk (hehe) 的大作中提到: 】
: LUT从电路实现角度来讲就是一块小的SRAM,4输入的LUT里面
: 有2^4=16个SRAM的单元,所以可以作为16位SRL。
: 用slice里的DFF来实现移位寄存器代价太大,16位移位寄存器
: ...................
☆─────────────────────────────────────☆
kerk (hehe) 于 (Fri Apr 11 10:22:19 2008) 提到:
不行,因为LUT只有一个output,而16bit串并转换是1 input, 16 output
【 在 BlackBlues (黑色布鲁斯) 的大作中提到: 】
: 请问,
: 如果想用1个LUT来实现16bit的串并转换是不是不行?
☆─────────────────────────────────────☆
InterRonaldo (罗那尔多在Inter) 于 (Fri Apr 11 13:02:40 2008) 提到:
不行
因为SRL16只有一个抽头
【 在 BlackBlues (黑色布鲁斯) 的大作中提到: 】
: 请问,
: 如果想用1个LUT来实现16bit的串并转换是不是不行?
☆─────────────────────────────────────☆
BlackBlues (黑色布鲁斯) 于 (Fri Apr 11 15:00:32 2008) 提到:
明白了,非常感谢!
【 在 kerk (hehe) 的大作中提到: 】
: 不行,因为LUT只有一个output,而16bit串并转换是1 input, 16 output
☆─────────────────────────────────────☆
BlackBlues (黑色布鲁斯) 于 (Fri Apr 11 15:00:39 2008) 提到:
明白了,非常感谢!
【 在 InterRonaldo (罗那尔多在Inter) 的大作中提到: 】
: 不行
: 因为SRL16只有一个抽头
☆─────────────────────────────────────☆
HeXieHao (和谐号) 于 (Sat Apr 12 02:02:58 2008) 提到:
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 (和谐号) 于 (Sat Apr 12 23:40:16 2008) 提到:
上面好像说,LUT内部也是用D触发器来实现移位的,因为有个这样的图,一排DFF,下面是地址组成的mux,我觉得这样只有一个抽头太浪费了,多搞几个,顺便还可以完成串并转换,那就更方便了。
【 在 HeXieHao (和谐号) 的大作中提到: 】
: HOW to change place of each data among RAM bit? This is important!
: 如果使用dff来做一个16位的移位寄存器的话,是不是需要8个slice才能够完成?这样太浪费了,而如果用lut来做,只要一个slice里的一个lut就可以搞定,呵呵。
☆─────────────────────────────────────☆
frankrick (garfield) 于 (Sat Apr 12 23:54:34 2008) 提到:
你是不是把slice看成LUT了?LUT就是一块小SRAM而已,当用作同步RAM时需要提供写使能
和写时钟。
【 在 HeXieHao (和谐号) 的大作中提到: 】
: 上面好像说,LUT内部也是用D触发器来实现移位的,因为有个这样的图,一排DFF,下面是地址组成的mux,我觉得这样只有一个抽头太浪费了,多搞几个,顺便还可以完成串并转换,那就更方便了。
|