查看完整版本: FPGA查找表问题

Xiaobao 2007-11-20 21:35

FPGA查找表问题

谁给讲一下FPGA的查找表的结构,是只有SRAM组成的吗?那它怎么实现逻辑功能的?

xzp 2007-11-20 22:00

唉,FPGA刚接触了点皮毛...sorry,i dont know:y泪奔;

BourneJason 2007-11-20 22:31

关于查找表(LUT)

[color=sienna][size=3]基于查找表(LUT,Look-Up Table)结构的FPGA都是采用Sram工艺的,比如Altera的Cyclone、Straitix系列以及Xilinx的Spartan、Virtex[/size][font=Times New Roman][size=3]系列。LUT本质上就是一个RAM。目前FPGA中多采用4输入的LUT(Virtex5好像是采用6输入的LUT),所以每一个LUT就可以看作一个拥有4bit地址线的16X1的RAM。当用户用原理图或HDL语言描述一个逻辑电路后,FPGA开发厂商提供的软件会自动计算逻辑电路的所有可能结果,并把结果事先写入RAM,这样每输入一个信号进行逻辑运算就相当于输入一bit地址进行查找,直到将对应地址的RAM中存放的内容作为结果输出。[/size][/font][/color]
[font=Times New Roman][size=3][color=#a0522d][/color][/size][/font]
[font=宋体][size=24pt][b]基于查找表([/b][/size][/font][size=24pt][b]LUT)[/b][/size][font=宋体][size=24pt][b]的[/b][/size][/font][size=24pt][b]FPGA[/b][/size][font=宋体][size=24pt][b]的结构[/b][/size][/font]
[size=24pt][b]      xilinx Spartan-II[/b][/size][font=宋体][size=24pt][b]的内部结构[/b][/size][/font]
[font=Times New Roman][size=3][/size][/font]
[attach]996[/attach]     [attach]997[/attach]
[color=blue]左图为Xilinx大部分FPGA硬件资源的分布示意图,右图为Xilinx专有的逻辑单元Slice的结构示意图[/color]
[color=blue]CLB:configuration Logic Block,逻辑块[/color]
[color=#0000ff]一个CLB通常包含四个Slice,一个Slice包含两个LUT和两个Flip-Flop(即触发器)[/color]
[font=宋体][size=24pt][b]基于查找表([/b][/size][/font][size=24pt][b]LUT)[/b][/size][font=宋体][size=24pt][b]的[/b][/size][/font][size=24pt][b]FPGA[/b][/size][font=宋体][size=24pt][b]的结构
[/b][/size][/font][size=24pt][b]altera[/b][/size][font=宋体][size=24pt][b]的[/b][/size][/font][size=24pt][b]FLEX/ACEX[/b][/size][font=宋体][size=24pt][b]等芯片的结构[/b][/size][/font]
[font=宋体][size=24pt][attach]1001[/attach][/size][/font]
[font=宋体][size=24pt][font=宋体][size=24pt]逻辑单元([/size][/font][size=24pt]LE[/size][font=宋体][size=24pt])内部结构[/size][/font]
[font=宋体][size=24pt][attach]998[/attach][/size][/font][/size][/font]
[font=宋体][size=24pt][size=3][color=blue]Altera的FPGA的最基本单元是LE,即Logic Element,一个LE包含一个LUT和一个D-FlipFlop[/color][/size]
[font=宋体][size=24pt][font=宋体][size=24pt][b]查找表结构[/b][/size][/font][size=24pt][b]FPGA[/b][/size][font=宋体][size=24pt][b]的逻辑实现原理[/b][/size][/font]
[font=宋体][size=24pt][attach]999[/attach][/size][/font]
[font=宋体][size=24pt][attach]1000[/attach][/size][/font][/size][/font][/size][/font]
[font=宋体][size=3][color=blue]由上图可见查找表的实质就是四位地址总线的16X1的RAM[/color][/size][/font]

[[i] 本帖最后由 BourneJason 于 2007-11-20 22:40 编辑 [/i]]

xzp 2007-11-20 22:34

原来如此~~~哈哈。:y激动;
伯恩兄真是强呀~~~

BourneJason 2007-11-20 22:45

回复 地板 的帖子

其实我以前那个“FPGA扫盲贴”附件的课件里有这方面的东西,不过不把内容贴出来估计大家还是看不到,呵呵。这些概念要不是有人发帖问,我也快忘了。刚找了些资料回顾了一番:yOK;
需要声明一下,上面贴的图片可能比较旧了,比如xilinx的virtex5就采用6输入的查找表了,而Altera的例图是用的很古老的FLEX/ACEX系列芯片资料,现在几乎不用了。不过我想基本的概念和结构还差不多吧,呵呵

Xiaobao 2007-11-20 23:29

回复 板凳 的帖子

嗯,明白了,强人啊!

asyou 2008-4-18 11:29

研究这东西有什么用,主要在什么时候用到啊?
页: [1]
查看完整版本: FPGA查找表问题